1.06 图像运算
1、图像加法运算,
对于+号运算,当对图像a、图像b进行加法求和时,遵循以下规则:
当某位置像素相加得到的数值小于255时,该位置数值为两图像该位置相加之和
当某位置像素相加得到的数值大于255时,该位置为两像素相加之和,对256取模(如200+80=280-256=34)
import cv2
a=cv2.imread(r"opencv1.4.1.jpg") #像素204*167
b=cv2.imread(r"opencv1.4.2.jpg") #像素197*170
ab=a[0:160,0:160]+b[0:160,0:160]
cv2.imshow("result",ab) #显示图片
cv2.waitKey(100000) #停100000s,关闭显示图片窗口后,程序仍不会中止,需要手动中止。
图像为如下:



对于cv2.add()运算,当对图像a,图像b进行加法求和时,遵循以下规则:
当某位置像素相加得到的数值小于255时,访位置数值为两图像该位置相加之和
当某位置像素相加得到的数值大于255时,该位置数值为255.
import cv2
a=cv2.imread(r"opencv1.4.1.jpg") #像素204*167
b=cv2.imread(r"opencv1.4.2.jpg") #像素197*170
a=cv2.resize(a,(160,160))
b=cv2.resize(b,(160,160))
c=cv2.add(a,b)
cv2.imshow("result",c) #显示图片
cv2.waitKey(100000) #停100000s,关闭显示图片窗口后,程序仍不会中止,需要手动中止。
返回图像:



import cv2
a=cv2.imread(r"opencv1.4.1.jpg") #像素204*167
b=cv2.imread(r"opencv1.4.1.jpg") #像素197*170
aj=a+10
cv2.imshow("result",aj) #显示图片
cv2.waitKey(100000) #停100000s,关闭显示图片窗口后,程序仍不会中止,需要手动中止。
图像为如下:


import cv2
a=cv2.imread(r"opencv1.4.1.jpg") #像素204*167
b=cv2.imread(r"opencv1.4.1.jpg") #像素197*170
aj=a-10
cv2.imshow("result",aj) #显示图片
cv2.waitKey(100000) #停100000s,关闭显示图片窗口后,程序仍不会中止,需要手动中止。


2、图像加权计算:
就是计算两幅图像的像素值之和时,将每幅图像的权重考虑进来,可以用公式表示为dst=src1*a+src*b+y(y可以自由调整)
返回图像:
import cv2
a=cv2.imread(r"opencv1.4.1.jpg") #像素204*167
b=cv2.imread(r"opencv1.4.2.jpg") #像素197*170
a=cv2.resize(a,(160,160))
b=cv2.resize(b,(160,160))
c=cv2.addWeighted(a,0.7,b,0.3,10)
cv2.imshow("result",c) #显示图片
cv2.waitKey(100000) #停100000s,关闭显示图片窗口后,程序仍不会中止,需要手动中止。
返回图像:


